﻿2026-06-04T00:09:13.9999832Z Current runner version: '2.334.0'
2026-06-04T00:09:14.0079422Z ##[group]Runner Image Provisioner
2026-06-04T00:09:14.0080813Z Hosted Compute Agent
2026-06-04T00:09:14.0081861Z Version: 20260520.533
2026-06-04T00:09:14.0082845Z Commit: 189110e25284a9812c124fd27b339e2fb4f2f9db
2026-06-04T00:09:14.0084188Z Build Date: 2026-05-20T17:44:04Z
2026-06-04T00:09:14.0085358Z Worker ID: {82b702a1-4853-4c7a-b7b9-bb1c25da792e}
2026-06-04T00:09:14.0086463Z Azure Region: eastus
2026-06-04T00:09:14.0087379Z ##[endgroup]
2026-06-04T00:09:14.0089695Z ##[group]Operating System
2026-06-04T00:09:14.0090752Z Ubuntu
2026-06-04T00:09:14.0091679Z 24.04.4
2026-06-04T00:09:14.0092454Z LTS
2026-06-04T00:09:14.0113750Z ##[endgroup]
2026-06-04T00:09:14.0115008Z ##[group]Runner Image
2026-06-04T00:09:14.0115957Z Image: ubuntu-24.04
2026-06-04T00:09:14.0116910Z Version: 20260525.161.1
2026-06-04T00:09:14.0119054Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260525.161/images/ubuntu/Ubuntu2404-Readme.md
2026-06-04T00:09:14.0121595Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260525.161
2026-06-04T00:09:14.0123133Z ##[endgroup]
2026-06-04T00:09:14.0125363Z ##[group]GITHUB_TOKEN Permissions
2026-06-04T00:09:14.0128858Z Contents: read
2026-06-04T00:09:14.0130353Z Metadata: read
2026-06-04T00:09:14.0131272Z Packages: read
2026-06-04T00:09:14.0132146Z ##[endgroup]
2026-06-04T00:09:14.0156622Z Secret source: Actions
2026-06-04T00:09:14.0158124Z Prepare workflow directory
2026-06-04T00:09:14.1171413Z Prepare all required actions
2026-06-04T00:09:14.1291034Z Getting action download info
2026-06-04T00:09:14.6176957Z Download action repository 'actions/checkout@v4' (SHA:34e114876b0b11c390a56381ad16ebd13914f8d5)
2026-06-04T00:09:14.7126307Z Download action repository 'dtolnay/rust-toolchain@stable' (SHA:29eef336d9b2848a0b548edc03f92a220660cdb8)
2026-06-04T00:09:14.8334872Z Download action repository 'Swatinem/rust-cache@v2' (SHA:e18b497796c12c097a38f9edb9d0641fb99eee32)
2026-06-04T00:09:15.2825080Z Complete job name: test (ubuntu-latest)
2026-06-04T00:09:15.3701531Z ##[group]Run actions/checkout@v4
2026-06-04T00:09:15.3702860Z with:
2026-06-04T00:09:15.3703876Z   repository: SaberMage/spt-core
2026-06-04T00:09:15.3714122Z   token: ***
2026-06-04T00:09:15.3714907Z   ssh-strict: true
2026-06-04T00:09:15.3715709Z   ssh-user: git
2026-06-04T00:09:15.3716517Z   persist-credentials: true
2026-06-04T00:09:15.3717417Z   clean: true
2026-06-04T00:09:15.3718232Z   sparse-checkout-cone-mode: true
2026-06-04T00:09:15.3719202Z   fetch-depth: 1
2026-06-04T00:09:15.3719985Z   fetch-tags: false
2026-06-04T00:09:15.3720988Z   show-progress: true
2026-06-04T00:09:15.3721810Z   lfs: false
2026-06-04T00:09:15.3722585Z   submodules: false
2026-06-04T00:09:15.3723724Z   set-safe-directory: true
2026-06-04T00:09:15.3725101Z ##[endgroup]
2026-06-04T00:09:15.5008159Z Syncing repository: SaberMage/spt-core
2026-06-04T00:09:15.5011971Z ##[group]Getting Git version info
2026-06-04T00:09:15.5017070Z Working directory is '/home/runner/work/spt-core/spt-core'
2026-06-04T00:09:15.5019743Z [command]/usr/bin/git version
2026-06-04T00:09:15.5095806Z git version 2.54.0
2026-06-04T00:09:15.5125757Z ##[endgroup]
2026-06-04T00:09:15.5150353Z Temporarily overriding HOME='/home/runner/work/_temp/d3af2fce-89ee-445a-9fef-f8ba03f7537c' before making global git config changes
2026-06-04T00:09:15.5154945Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T00:09:15.5168985Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-04T00:09:15.5219807Z Deleting the contents of '/home/runner/work/spt-core/spt-core'
2026-06-04T00:09:15.5225194Z ##[group]Initializing the repository
2026-06-04T00:09:15.5230305Z [command]/usr/bin/git init /home/runner/work/spt-core/spt-core
2026-06-04T00:09:15.5308437Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-06-04T00:09:15.5316271Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-06-04T00:09:15.5327067Z hint: to use in all of your new repositories, which will suppress this warning,
2026-06-04T00:09:15.5334591Z hint: call:
2026-06-04T00:09:15.5336151Z hint:
2026-06-04T00:09:15.5340250Z hint: 	git config --global init.defaultBranch <name>
2026-06-04T00:09:15.5342100Z hint:
2026-06-04T00:09:15.5344859Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-06-04T00:09:15.5347785Z hint: 'development'. The just-created branch can be renamed via this command:
2026-06-04T00:09:15.5350165Z hint:
2026-06-04T00:09:15.5351521Z hint: 	git branch -m <name>
2026-06-04T00:09:15.5352983Z hint:
2026-06-04T00:09:15.5355195Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-06-04T00:09:15.5358302Z Initialized empty Git repository in /home/runner/work/spt-core/spt-core/.git/
2026-06-04T00:09:15.5363750Z [command]/usr/bin/git remote add origin https://github.com/SaberMage/spt-core
2026-06-04T00:09:15.5402825Z ##[endgroup]
2026-06-04T00:09:15.5405672Z ##[group]Disabling automatic garbage collection
2026-06-04T00:09:15.5408032Z [command]/usr/bin/git config --local gc.auto 0
2026-06-04T00:09:15.5438873Z ##[endgroup]
2026-06-04T00:09:15.5441107Z ##[group]Setting up auth
2026-06-04T00:09:15.5448578Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T00:09:15.5495067Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-06-04T00:09:15.5860661Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T00:09:15.5902845Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-06-04T00:09:15.6170962Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T00:09:15.6219223Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T00:09:15.6495204Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-06-04T00:09:15.6542276Z ##[endgroup]
2026-06-04T00:09:15.6545591Z ##[group]Fetching the repository
2026-06-04T00:09:15.6554202Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +20b05788920237d2df7a6da452d55dc9e510947c:refs/remotes/origin/dev-freeform
2026-06-04T00:09:15.9910036Z From https://github.com/SaberMage/spt-core
2026-06-04T00:09:15.9917531Z  * [new ref]         20b05788920237d2df7a6da452d55dc9e510947c -> origin/dev-freeform
2026-06-04T00:09:15.9975857Z ##[endgroup]
2026-06-04T00:09:15.9979638Z ##[group]Determining the checkout info
2026-06-04T00:09:15.9981603Z ##[endgroup]
2026-06-04T00:09:15.9987020Z [command]/usr/bin/git sparse-checkout disable
2026-06-04T00:09:16.0125104Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-06-04T00:09:16.0185326Z ##[group]Checking out the ref
2026-06-04T00:09:16.0187379Z [command]/usr/bin/git checkout --progress --force -B dev-freeform refs/remotes/origin/dev-freeform
2026-06-04T00:09:16.0444959Z Switched to a new branch 'dev-freeform'
2026-06-04T00:09:16.0456171Z branch 'dev-freeform' set up to track 'origin/dev-freeform'.
2026-06-04T00:09:16.0519209Z ##[endgroup]
2026-06-04T00:09:16.0564622Z [command]/usr/bin/git log -1 --format=%H
2026-06-04T00:09:16.0588295Z 20b05788920237d2df7a6da452d55dc9e510947c
2026-06-04T00:09:16.1127894Z ##[group]Run dtolnay/rust-toolchain@stable
2026-06-04T00:09:16.1128921Z with:
2026-06-04T00:09:16.1211499Z   components: clippy
2026-06-04T00:09:16.1212494Z   toolchain: stable
2026-06-04T00:09:16.1213183Z ##[endgroup]
2026-06-04T00:09:16.1411203Z ##[group]Run : parse toolchain version
2026-06-04T00:09:16.1412356Z [36;1m: parse toolchain version[0m
2026-06-04T00:09:16.1413977Z [36;1mif [[ -z $toolchain ]]; then[0m
2026-06-04T00:09:16.1415807Z [36;1m  # GitHub does not enforce `required: true` inputs itself. https://github.com/actions/runner/issues/1070[0m
2026-06-04T00:09:16.1417663Z [36;1m  echo "'toolchain' is a required input" >&2[0m
2026-06-04T00:09:16.1418626Z [36;1m  exit 1[0m
2026-06-04T00:09:16.1419799Z [36;1melif [[ $toolchain =~ ^stable' '[0-9]+' '(year|month|week|day)s?' 'ago$ ]]; then[0m
2026-06-04T00:09:16.1421268Z [36;1m  if [[ Linux == macOS ]]; then[0m
2026-06-04T00:09:16.1423464Z [36;1m    echo "toolchain=1.$((($(date -v-$(sed 's/stable \([0-9]*\) \(.\).*/\1\2/' <<< $toolchain) +%s)/60/60/24-16569)/7/6))" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1425465Z [36;1m  else[0m
2026-06-04T00:09:16.1427163Z [36;1m    echo "toolchain=1.$((($(date --date "${toolchain#stable }" +%s)/60/60/24-16569)/7/6))" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1428692Z [36;1m  fi[0m
2026-06-04T00:09:16.1429655Z [36;1melif [[ $toolchain =~ ^stable' 'minus' '[0-9]+' 'releases?$ ]]; then[0m
2026-06-04T00:09:16.1431549Z [36;1m  echo "toolchain=1.$((($(date +%s)/60/60/24-16569)/7/6-${toolchain//[^0-9]/}))" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1433584Z [36;1melif [[ $toolchain =~ ^1\.[0-9]+$ ]]; then[0m
2026-06-04T00:09:16.1435441Z [36;1m  echo "toolchain=1.$((i=${toolchain#1.}, c=($(date +%s)/60/60/24-16569)/7/6, i+9*i*(10*i<=c)+90*i*(100*i<=c)))" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1438107Z [36;1melse[0m
2026-06-04T00:09:16.1438949Z [36;1m  echo "toolchain=$toolchain" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1439978Z [36;1mfi[0m
2026-06-04T00:09:16.1480166Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:16.1481277Z env:
2026-06-04T00:09:16.1481797Z   toolchain: stable
2026-06-04T00:09:16.1482411Z ##[endgroup]
2026-06-04T00:09:16.1689047Z ##[group]Run : construct rustup command line
2026-06-04T00:09:16.1689769Z [36;1m: construct rustup command line[0m
2026-06-04T00:09:16.1690776Z [36;1mecho "targets=$(for t in ${targets//,/ }; do echo -n ' --target' $t; done)" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1692209Z [36;1mecho "components=$(for c in ${components//,/ }; do echo -n ' --component' $c; done)" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1693556Z [36;1mecho "downgrade=" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:16.1724233Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:16.1724957Z env:
2026-06-04T00:09:16.1725321Z   targets: 
2026-06-04T00:09:16.1725713Z   components: clippy
2026-06-04T00:09:16.1726139Z ##[endgroup]
2026-06-04T00:09:16.1838600Z ##[group]Run : set $CARGO_HOME
2026-06-04T00:09:16.1839185Z [36;1m: set $CARGO_HOME[0m
2026-06-04T00:09:16.1839876Z [36;1mecho CARGO_HOME=${CARGO_HOME:-"$HOME/.cargo"} >> $GITHUB_ENV[0m
2026-06-04T00:09:16.1870086Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:16.1870816Z ##[endgroup]
2026-06-04T00:09:16.1986528Z ##[group]Run : install rustup if needed
2026-06-04T00:09:16.1987213Z [36;1m: install rustup if needed[0m
2026-06-04T00:09:16.1987842Z [36;1mif ! command -v rustup &>/dev/null; then[0m
2026-06-04T00:09:16.1989519Z [36;1m  curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused --location --silent --show-error --fail https://sh.rustup.rs | sh -s -- --default-toolchain none -y[0m
2026-06-04T00:09:16.1991174Z [36;1m  echo "$CARGO_HOME/bin" >> $GITHUB_PATH[0m
2026-06-04T00:09:16.1991774Z [36;1mfi[0m
2026-06-04T00:09:16.2022107Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:16.2022844Z env:
2026-06-04T00:09:16.2023455Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:16.2024277Z ##[endgroup]
2026-06-04T00:09:16.2134082Z ##[group]Run rustup toolchain install stable --component clippy --profile minimal --no-self-update
2026-06-04T00:09:16.2135617Z [36;1mrustup toolchain install stable --component clippy --profile minimal --no-self-update[0m
2026-06-04T00:09:16.2167452Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:16.2168348Z env:
2026-06-04T00:09:16.2168737Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:16.2169284Z   RUSTUP_PERMIT_COPY_RENAME: 1
2026-06-04T00:09:16.2169779Z ##[endgroup]
2026-06-04T00:09:16.4143856Z info: syncing channel updates for stable-x86_64-unknown-linux-gnu
2026-06-04T00:09:16.7106382Z info: latest update on 2026-05-28 for version 1.96.0 (ac68faa20 2026-05-25)
2026-06-04T00:09:16.7358387Z info: removing previous version of component clippy
2026-06-04T00:09:16.7486564Z info: removing previous version of component rustfmt
2026-06-04T00:09:16.7544688Z info: removing previous version of component cargo
2026-06-04T00:09:16.7632249Z info: removing previous version of component rust-std
2026-06-04T00:09:16.7677645Z info: removing previous version of component rustc
2026-06-04T00:09:16.7720000Z info: downloading 5 components
2026-06-04T00:09:27.0262038Z 
2026-06-04T00:09:27.0350098Z   stable-x86_64-unknown-linux-gnu updated - rustc 1.96.0 (ac68faa20 2026-05-25) (from rustc 1.95.0 (59807616e 2026-04-14))
2026-06-04T00:09:27.0351852Z 
2026-06-04T00:09:27.0450202Z ##[group]Run rustup default stable
2026-06-04T00:09:27.0450599Z [36;1mrustup default stable[0m
2026-06-04T00:09:27.0477690Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.0478106Z env:
2026-06-04T00:09:27.0478371Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.0478685Z ##[endgroup]
2026-06-04T00:09:27.0589429Z info: using existing install for stable-x86_64-unknown-linux-gnu
2026-06-04T00:09:27.0597833Z info: default toolchain set to stable-x86_64-unknown-linux-gnu
2026-06-04T00:09:27.0598333Z 
2026-06-04T00:09:27.0671873Z   stable-x86_64-unknown-linux-gnu unchanged - rustc 1.96.0 (ac68faa20 2026-05-25)
2026-06-04T00:09:27.0672825Z 
2026-06-04T00:09:27.0714214Z ##[group]Run : create cachekey
2026-06-04T00:09:27.0714616Z [36;1m: create cachekey[0m
2026-06-04T00:09:27.0715194Z [36;1mDATE=$(rustc +stable --version --verbose | sed -ne 's/^commit-date: \(20[0-9][0-9]\)-\([01][0-9]\)-\([0-3][0-9]\)$/\1\2\3/p')[0m
2026-06-04T00:09:27.0715939Z [36;1mHASH=$(rustc +stable --version --verbose | sed -ne 's/^commit-hash: //p')[0m
2026-06-04T00:09:27.0716483Z [36;1mecho "cachekey=$(echo $DATE$HASH | head -c12)" >> $GITHUB_OUTPUT[0m
2026-06-04T00:09:27.0744338Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.0744749Z env:
2026-06-04T00:09:27.0745014Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.0745330Z ##[endgroup]
2026-06-04T00:09:27.1139522Z ##[group]Run : disable incremental compilation
2026-06-04T00:09:27.1139966Z [36;1m: disable incremental compilation[0m
2026-06-04T00:09:27.1140391Z [36;1mif [ -z "${CARGO_INCREMENTAL+set}" ]; then[0m
2026-06-04T00:09:27.1140799Z [36;1m  echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV[0m
2026-06-04T00:09:27.1141142Z [36;1mfi[0m
2026-06-04T00:09:27.1168333Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.1168784Z env:
2026-06-04T00:09:27.1169070Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.1169406Z ##[endgroup]
2026-06-04T00:09:27.1247055Z ##[group]Run : enable colors in Cargo output
2026-06-04T00:09:27.1247469Z [36;1m: enable colors in Cargo output[0m
2026-06-04T00:09:27.1247894Z [36;1mif [ -z "${CARGO_TERM_COLOR+set}" ]; then[0m
2026-06-04T00:09:27.1248299Z [36;1m  echo CARGO_TERM_COLOR=always >> $GITHUB_ENV[0m
2026-06-04T00:09:27.1248652Z [36;1mfi[0m
2026-06-04T00:09:27.1274915Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.1275316Z env:
2026-06-04T00:09:27.1275575Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.1275895Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:27.1276163Z ##[endgroup]
2026-06-04T00:09:27.1385399Z ##[group]Run : enable Cargo sparse registry
2026-06-04T00:09:27.1385837Z [36;1m: enable Cargo sparse registry[0m
2026-06-04T00:09:27.1386256Z [36;1m# implemented in 1.66, stabilized in 1.68, made default in 1.70[0m
2026-06-04T00:09:27.1387023Z [36;1mif [ -z "${CARGO_REGISTRIES_CRATES_IO_PROTOCOL+set}" -o -f "/home/runner/work/_temp"/.implicit_cargo_registries_crates_io_protocol ]; then[0m
2026-06-04T00:09:27.1387979Z [36;1m  if rustc +stable --version --verbose | grep -q '^release: 1\.6[89]\.'; then[0m
2026-06-04T00:09:27.1388608Z [36;1m    touch "/home/runner/work/_temp"/.implicit_cargo_registries_crates_io_protocol || true[0m
2026-06-04T00:09:27.1389192Z [36;1m    echo CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse >> $GITHUB_ENV[0m
2026-06-04T00:09:27.1389746Z [36;1m  elif rustc +stable --version --verbose | grep -q '^release: 1\.6[67]\.'; then[0m
2026-06-04T00:09:27.1390360Z [36;1m    touch "/home/runner/work/_temp"/.implicit_cargo_registries_crates_io_protocol || true[0m
2026-06-04T00:09:27.1390918Z [36;1m    echo CARGO_REGISTRIES_CRATES_IO_PROTOCOL=git >> $GITHUB_ENV[0m
2026-06-04T00:09:27.1391310Z [36;1m  fi[0m
2026-06-04T00:09:27.1391563Z [36;1mfi[0m
2026-06-04T00:09:27.1418641Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.1419057Z env:
2026-06-04T00:09:27.1419320Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.1419653Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:27.1419932Z   CARGO_TERM_COLOR: always
2026-06-04T00:09:27.1420217Z ##[endgroup]
2026-06-04T00:09:27.1784376Z ##[group]Run : work around spurious network errors in curl 8.0
2026-06-04T00:09:27.1784945Z [36;1m: work around spurious network errors in curl 8.0[0m
2026-06-04T00:09:27.1785593Z [36;1m# https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/timeout.20investigation[0m
2026-06-04T00:09:27.1786253Z [36;1mif rustc +stable --version --verbose | grep -q '^release: 1\.7[01]\.'; then[0m
2026-06-04T00:09:27.1786807Z [36;1m  echo CARGO_HTTP_MULTIPLEXING=false >> $GITHUB_ENV[0m
2026-06-04T00:09:27.1787187Z [36;1mfi[0m
2026-06-04T00:09:27.1814985Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.1815387Z env:
2026-06-04T00:09:27.1815647Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.1815964Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:27.1816241Z   CARGO_TERM_COLOR: always
2026-06-04T00:09:27.1816536Z ##[endgroup]
2026-06-04T00:09:27.2038810Z ##[group]Run rustc +stable --version --verbose
2026-06-04T00:09:27.2039251Z [36;1mrustc +stable --version --verbose[0m
2026-06-04T00:09:27.2066526Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-06-04T00:09:27.2066932Z env:
2026-06-04T00:09:27.2067193Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.2067510Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:27.2067786Z   CARGO_TERM_COLOR: always
2026-06-04T00:09:27.2068072Z ##[endgroup]
2026-06-04T00:09:27.2248167Z rustc 1.96.0 (ac68faa20 2026-05-25)
2026-06-04T00:09:27.2249195Z binary: rustc
2026-06-04T00:09:27.2249886Z commit-hash: ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96
2026-06-04T00:09:27.2250668Z commit-date: 2026-05-25
2026-06-04T00:09:27.2251262Z host: x86_64-unknown-linux-gnu
2026-06-04T00:09:27.2251879Z release: 1.96.0
2026-06-04T00:09:27.2252453Z LLVM version: 22.1.2
2026-06-04T00:09:27.2390893Z ##[group]Run Swatinem/rust-cache@v2
2026-06-04T00:09:27.2391298Z with:
2026-06-04T00:09:27.2391601Z   prefix-key: v0-rust
2026-06-04T00:09:27.2391886Z   add-job-id-key: true
2026-06-04T00:09:27.2392184Z   add-rust-environment-hash-key: true
2026-06-04T00:09:27.2392509Z   cache-targets: true
2026-06-04T00:09:27.2392783Z   cache-all-crates: false
2026-06-04T00:09:27.2393082Z   cache-workspace-crates: false
2026-06-04T00:09:27.2393570Z   save-if: true
2026-06-04T00:09:27.2393838Z   cache-provider: github
2026-06-04T00:09:27.2394118Z   cache-bin: true
2026-06-04T00:09:27.2394377Z   lookup-only: false
2026-06-04T00:09:27.2394637Z   cmd-format: {0}
2026-06-04T00:09:27.2394884Z env:
2026-06-04T00:09:27.2395133Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:27.2395442Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:27.2395731Z   CARGO_TERM_COLOR: always
2026-06-04T00:09:27.2396014Z ##[endgroup]
2026-06-04T00:09:27.6095674Z (node:2193) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-06-04T00:09:27.6104477Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-06-04T00:09:27.7910365Z ##[group]Cache Configuration
2026-06-04T00:09:27.7929495Z Cache Provider:
2026-06-04T00:09:27.7939732Z     github
2026-06-04T00:09:27.7940351Z Workspaces:
2026-06-04T00:09:27.7940888Z     /home/runner/work/spt-core/spt-core
2026-06-04T00:09:27.7941576Z Cache Paths:
2026-06-04T00:09:27.7942068Z     /home/runner/.cargo/bin
2026-06-04T00:09:27.7942629Z     /home/runner/.cargo/.crates.toml
2026-06-04T00:09:27.7943228Z     /home/runner/.cargo/.crates2.json
2026-06-04T00:09:27.7944113Z     /home/runner/.cargo/registry
2026-06-04T00:09:27.7944679Z     /home/runner/.cargo/git
2026-06-04T00:09:27.7945271Z     /home/runner/work/spt-core/spt-core/target
2026-06-04T00:09:27.7945892Z Restore Key:
2026-06-04T00:09:27.7946397Z     v0-rust-test-Linux-x64-4107bf91
2026-06-04T00:09:27.7946962Z Cache Key:
2026-06-04T00:09:27.7947520Z     v0-rust-test-Linux-x64-4107bf91-d5cdd4b0
2026-06-04T00:09:27.7948127Z .. Prefix:
2026-06-04T00:09:27.7948627Z   - v0-rust-test-Linux-x64
2026-06-04T00:09:27.7949184Z .. Environment considered:
2026-06-04T00:09:27.7949697Z   - Rust Versions:
2026-06-04T00:09:27.7950354Z     - 1.96.0 x86_64-unknown-linux-gnu ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96
2026-06-04T00:09:27.7951289Z     - 1.96.0 x86_64-unknown-linux-gnu ac68faa20c58cbccd01ee7208bf3b6e93a7d7f96
2026-06-04T00:09:27.7952042Z   - CARGO_HOME
2026-06-04T00:09:27.7952517Z   - CARGO_INCREMENTAL
2026-06-04T00:09:27.7953013Z   - CARGO_TERM_COLOR
2026-06-04T00:09:27.7953669Z .. Lockfiles considered:
2026-06-04T00:09:27.7956184Z   - /home/runner/work/spt-core/spt-core/adapters/mock/Cargo.toml
2026-06-04T00:09:27.7957028Z   - /home/runner/work/spt-core/spt-core/Cargo.lock
2026-06-04T00:09:27.7957840Z   - /home/runner/work/spt-core/spt-core/crates/spt-daemon/Cargo.toml
2026-06-04T00:09:27.7958713Z   - /home/runner/work/spt-core/spt-core/crates/spt-live/Cargo.toml
2026-06-04T00:09:27.7959585Z   - /home/runner/work/spt-core/spt-core/crates/spt-msg/Cargo.toml
2026-06-04T00:09:27.7960449Z   - /home/runner/work/spt-core/spt-core/crates/spt-net/Cargo.toml
2026-06-04T00:09:27.7961294Z   - /home/runner/work/spt-core/spt-core/crates/spt-proto/Cargo.toml
2026-06-04T00:09:27.7962173Z   - /home/runner/work/spt-core/spt-core/crates/spt-runtime/Cargo.toml
2026-06-04T00:09:27.7963057Z   - /home/runner/work/spt-core/spt-core/crates/spt-store/Cargo.toml
2026-06-04T00:09:27.7964148Z   - /home/runner/work/spt-core/spt-core/crates/spt-term/Cargo.toml
2026-06-04T00:09:27.7964947Z   - /home/runner/work/spt-core/spt-core/crates/spt/Cargo.toml
2026-06-04T00:09:27.7966099Z ##[endgroup]
2026-06-04T00:09:27.7966449Z 
2026-06-04T00:09:27.7966757Z ... Restoring cache ...
2026-06-04T00:09:27.9004348Z Cache hit for restore-key: v0-rust-test-Linux-x64-4107bf91-d2589736
2026-06-04T00:09:28.9725674Z Received 192937984 of 861764460 (22.4%), 183.8 MBs/sec
2026-06-04T00:09:29.9744002Z Received 436207616 of 861764460 (50.6%), 207.8 MBs/sec
2026-06-04T00:09:30.9777375Z Received 692060160 of 861764460 (80.3%), 219.7 MBs/sec
2026-06-04T00:09:31.7172573Z Received 861764460 of 861764460 (100.0%), 219.5 MBs/sec
2026-06-04T00:09:31.7182818Z Cache Size: ~822 MB (861764460 B)
2026-06-04T00:09:31.7478632Z [command]/usr/bin/tar -xf /home/runner/work/_temp/889eb316-c0d8-4e26-9f81-5e6b72a97d94/cache.tzst -P -C /home/runner/work/spt-core/spt-core --use-compress-program unzstd
2026-06-04T00:09:47.3185405Z Cache restored successfully
2026-06-04T00:09:48.6383572Z Restored from cache key "v0-rust-test-Linux-x64-4107bf91-d2589736" full match: false.
2026-06-04T00:09:48.6630964Z ##[group]Run cargo build --workspace --all-targets
2026-06-04T00:09:48.6631374Z [36;1mcargo build --workspace --all-targets[0m
2026-06-04T00:09:48.6663999Z shell: /usr/bin/bash -e {0}
2026-06-04T00:09:48.6664274Z env:
2026-06-04T00:09:48.6664490Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:09:48.6664771Z   CARGO_INCREMENTAL: 0
2026-06-04T00:09:48.6665007Z   CARGO_TERM_COLOR: always
2026-06-04T00:09:48.6665246Z   CACHE_ON_FAILURE: false
2026-06-04T00:09:48.6665714Z ##[endgroup]
2026-06-04T00:09:49.1467246Z [1m[92m    Updating[0m crates.io index
2026-06-04T00:09:51.3654957Z [1m[92m   Compiling[0m spt-proto v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-proto)
2026-06-04T00:09:51.9155704Z [1m[92m   Compiling[0m spt-store v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-store)
2026-06-04T00:09:53.1996134Z [1m[92m   Compiling[0m spt-msg v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-msg)
2026-06-04T00:09:53.4195384Z [1m[92m   Compiling[0m spt-term v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-term)
2026-06-04T00:09:54.0385223Z [1m[92m   Compiling[0m spt-runtime v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-runtime)
2026-06-04T00:09:54.2695062Z [1m[92m   Compiling[0m spt-net v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-net)
2026-06-04T00:09:55.6805646Z [1m[92m   Compiling[0m spt-live v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-live)
2026-06-04T00:09:56.0545471Z [1m[92m   Compiling[0m spt-daemon v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt-daemon)
2026-06-04T00:10:06.1214971Z [1m[92m   Compiling[0m spt v0.0.0 (/home/runner/work/spt-core/spt-core/crates/spt)
2026-06-04T00:10:19.5374156Z [1m[92m   Compiling[0m mock-adapter v0.0.0 (/home/runner/work/spt-core/spt-core/adapters/mock)
2026-06-04T00:10:29.2268449Z [1m[92m    Finished[0m `dev` profile [unoptimized + debuginfo] target(s) in 40.11s
2026-06-04T00:10:29.2721234Z ##[group]Run cargo test --workspace
2026-06-04T00:10:29.2721591Z [36;1mcargo test --workspace[0m
2026-06-04T00:10:29.2783609Z shell: /usr/bin/bash -e {0}
2026-06-04T00:10:29.2783906Z env:
2026-06-04T00:10:29.2784140Z   CARGO_HOME: /home/runner/.cargo
2026-06-04T00:10:29.2784430Z   CARGO_INCREMENTAL: 0
2026-06-04T00:10:29.2784667Z   CARGO_TERM_COLOR: always
2026-06-04T00:10:29.2784906Z   CACHE_ON_FAILURE: false
2026-06-04T00:10:29.2785141Z ##[endgroup]
2026-06-04T00:10:29.7459151Z [1m[92m    Finished[0m `test` profile [unoptimized + debuginfo] target(s) in 0.45s
2026-06-04T00:10:29.7637503Z [1m[92m     Running[0m unittests src/main.rs (target/debug/deps/mock_session-92ee07a0473bad70)
2026-06-04T00:10:29.7653111Z 
2026-06-04T00:10:29.7653639Z running 0 tests
2026-06-04T00:10:29.7654080Z 
2026-06-04T00:10:29.7654724Z test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
2026-06-04T00:10:29.7658487Z [1m[92m     Running[0m tests/manifest_valid.rs (target/debug/deps/manifest_valid-ad0ba1bebfac7c31)
2026-06-04T00:10:29.7659468Z 
2026-06-04T00:10:29.7668826Z 
2026-06-04T00:10:29.7669195Z running 3 tests
2026-06-04T00:10:29.7689293Z test mock_declares_commune_signoff_as_filedrops ... ok
2026-06-04T00:10:29.7690654Z test mock_has_no_claude_code_conventions ... ok
2026-06-04T00:10:29.7701054Z test mock_manifest_parses_and_validates ... ok
2026-06-04T00:10:29.7701815Z 
2026-06-04T00:10:29.7702401Z test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
2026-06-04T00:10:29.7702985Z 
2026-06-04T00:10:29.7715065Z [1m[92m     Running[0m unittests src/main.rs (target/debug/deps/spt-4007d24cacd6b527)
2026-06-04T00:10:29.7720774Z 
2026-06-04T00:10:29.7721553Z running 54 tests
2026-06-04T00:10:29.7737977Z test api::auth::tests::mints_distinct_nonempty_tokens ... ok
2026-06-04T00:10:29.7742526Z test api::auth::tests::missing_endpoint_is_no_endpoint ... ok
2026-06-04T00:10:29.7743970Z test api::auth::tests::no_proof_is_refused ... ok
2026-06-04T00:10:29.7751758Z test api::auth::tests::session_id_proof_authenticates ... ok
2026-06-04T00:10:29.7761737Z test api::auth::tests::token_proof_authenticates ... ok
2026-06-04T00:10:29.7762684Z test api::auth::tests::wrong_token_and_wrong_session_refused ... ok
2026-06-04T00:10:29.7774841Z test api::delivery::tests::echo_gate_explicit_toggle ... ok
2026-06-04T00:10:29.7855663Z test api::delivery::tests::idle_busy_transitions_manage_sentinels ... ok
2026-06-04T00:10:29.7856788Z test api::delivery::tests::idle_no_gate_does_not_arm_gate ... ok
2026-06-04T00:10:29.7862211Z test api::delivery::tests::inject_all_pty_falls_back_to_hook ... ok
2026-06-04T00:10:29.7870320Z test api::delivery::tests::inject_resolution_drops_pty_defaults_hook ... ok
2026-06-04T00:10:29.7898027Z test api::reporting::tests::boundary_missing_perch_refused ... ok
2026-06-04T00:10:29.7904095Z test api::delivery::tests::poll_drains_non_deferred_by_default ... ok
2026-06-04T00:10:29.7908929Z test api::reporting::tests::boundary_rebinds_keeping_anchor ... ok
2026-06-04T00:10:29.7910585Z test api::reporting::tests::capability_lists_hostable_types ... ok
2026-06-04T00:10:29.7912247Z test api::reporting::tests::env_aliases_resolved_from_manifest ... ok
2026-06-04T00:10:29.7915340Z test api::reporting::tests::filedrops_are_fixed_named_files ... ok
2026-06-04T00:10:29.7921054Z test api::reporting::tests::history_log_appends ... ok
2026-06-04T00:10:29.7923843Z test api::reporting::tests::presence_records_endpoint ... ok
2026-06-04T00:10:29.7934853Z test api::reporting::tests::session_end_erase_refused_with_live_children ... ok
2026-06-04T00:10:29.7966261Z test api::reporting::tests::session_end_erase_wipes_childless_perch ... ok
2026-06-04T00:10:29.7993527Z test api::reporting::tests::session_end_soft_preserves_state ... ok
2026-06-04T00:10:29.8051882Z test api::startup::tests::empty_session_seed_refused ... ok
2026-06-04T00:10:29.8122314Z test api::startup::tests::live_perch_under_other_session_conflicts ... ok
2026-06-04T00:10:29.8185605Z test api::startup::tests::missing_seed_refused ... ok
2026-06-04T00:10:29.8186725Z test api::startup::tests::post_spawn_bind_establishes_perch ... ok
2026-06-04T00:10:29.8196908Z test api::startup::tests::rebind_same_session_ok ... ok
2026-06-04T00:10:29.8254299Z test api::startup::tests::stale_seed_with_dead_anchor_refused ... ok
2026-06-04T00:10:29.8263895Z test api::tests::adapter_is_required ... ok
2026-06-04T00:10:29.8278978Z test api::tests::state_value_is_validated ... ok
2026-06-04T00:10:29.8280864Z test api::startup::tests::valid_seed_binds_live_perch ... ok
2026-06-04T00:10:29.8294560Z test api::worker::tests::cascade_guard_tracks_live_children ... ok
2026-06-04T00:10:29.8310929Z test api::worker::tests::guard_clears_only_when_all_children_stopped ... ok
2026-06-04T00:10:29.8320706Z test api::tests::surface_parses ... ok
2026-06-04T00:10:29.8414711Z test api::worker::tests::worker_poll_drains_spool ... ok
2026-06-04T00:10:29.8415745Z test cli::tests::create_new_existing_name_is_usage_error ... ok
2026-06-04T00:10:29.8416652Z test api::worker::tests::worker_start_nests_under_parent ... ok
2026-06-04T00:10:29.8424079Z test cli::tests::create_new_mints_shows_and_requests_save ... ok
2026-06-04T00:10:29.8434240Z test cli::tests::digest_flag_defaults ... ok
2026-06-04T00:10:29.8435325Z test cli::tests::empty_store_no_flag_guides_to_pair_or_create ... ok
2026-06-04T00:10:29.8441131Z test cli::tests::invalid_usage_errors ... ok
2026-06-04T00:10:29.8445465Z test cli::tests::multi_subnet_refuses_without_flag_then_resolves_with_it ... ok
2026-06-04T00:10:29.8446591Z test cli::tests::not_elevated_refuses_without_leaking_code_or_saving ... ok
2026-06-04T00:10:29.8462211Z test cli::tests::pair_show_totp_arg_shapes_parse ... ok
2026-06-04T00:10:29.8477196Z test cli::tests::pair_show_totp_subnet_and_create_new_conflict ... ok
2026-06-04T00:10:29.8479361Z test cli::tests::ring_timeout_defaults ... ok
2026-06-04T00:10:29.8480306Z test cli::tests::single_subnet_auto_selects_and_code_matches_seed ... ok
2026-06-04T00:10:29.8481256Z test cli::tests::send_target_optional_with_reply_to ... ok
2026-06-04T00:10:29.8482186Z test cli::tests::unknown_elevation_falls_back ... ok
2026-06-04T00:10:29.8483671Z test cli::tests::unknown_named_subnet_is_usage_error ... ok
2026-06-04T00:10:29.8495642Z test elevation::tests::current_returns_a_determinate_level_on_supported_platforms ... ok
2026-06-04T00:10:29.8502541Z test elevation::tests::fallback_message_names_authenticator_app_and_subnet ... ok
2026-06-04T00:10:29.8504217Z test elevation::tests::gate_shows_only_when_confirmed_elevated ... ok
2026-06-04T00:10:29.8518456Z test cli::tests::subcommands_parse ... ok
2026-06-04T00:10:29.8520307Z 
2026-06-04T00:10:29.8520885Z test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
2026-06-04T00:10:29.8521528Z 
2026-06-04T00:10:29.8527169Z [1m[92m     Running[0m tests/contract_e2e.rs (target/debug/deps/contract_e2e-310475f406cca6d6)
2026-06-04T00:10:29.8542942Z 
2026-06-04T00:10:29.8543547Z running 4 tests
2026-06-04T00:10:30.1123945Z test cold_api_call_autostarts_daemon_and_handoff_is_in_memory ... ok
2026-06-04T00:10:30.1499213Z test mock_adapter_drives_the_full_contract ... ok
2026-06-04T00:10:30.1621608Z SEEDED:2937
2026-06-04T00:10:30.4071223Z test live_agent_lifecycle_e2e ... ok
2026-06-04T00:10:30.4205382Z SEEDED:2937
2026-06-04T00:10:30.6338456Z test seed_then_listen_binds_and_relays ... ok
2026-06-04T00:10:30.6339142Z 
2026-06-04T00:10:30.6339730Z test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s
2026-06-04T00:10:30.6340532Z 
2026-06-04T00:10:30.6347447Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_daemon-cd1b01c910947a91)
2026-06-04T00:10:30.6377954Z 
2026-06-04T00:10:30.6378337Z running 79 tests
2026-06-04T00:10:30.6380976Z test adapter_update::tests::delegated_attested_delegates_command ... ok
2026-06-04T00:10:30.6394738Z test adapter_update::tests::delegated_unattested_is_skipped ... ok
2026-06-04T00:10:30.6542444Z test adapter_update::tests::file_pull_verified_against_adapter_key ... ok
2026-06-04T00:10:30.6554577Z test adapter_update::tests::file_pull_tampered_bytes_rejected ... ok
2026-06-04T00:10:30.6555609Z test adapter_update::tests::file_pull_without_payload_is_skipped ... ok
2026-06-04T00:10:30.6696361Z test adapter_update::tests::file_pull_wrong_key_rejected ... ok
2026-06-04T00:10:30.6701332Z test codec::tests::back_to_back_frames_decode_independently ... ok
2026-06-04T00:10:30.6702175Z test adapter_update::tests::ripple_conducts_each_adapter_in_order ... ok
2026-06-04T00:10:30.6703148Z test codec::tests::frame_round_trips_through_buffer ... ok
2026-06-04T00:10:30.6706527Z test config::tests::crash_grace_is_config_driven ... ok
2026-06-04T00:10:30.6707329Z test codec::tests::oversized_prefix_rejected ... ok
2026-06-04T00:10:30.6711943Z test config::tests::full_auto_update_is_gated_by_default ... ok
2026-06-04T00:10:30.6712838Z test config::tests::malformed_file_degrades_to_default ... ok
2026-06-04T00:10:30.6716570Z test config::tests::missing_file_is_default ... ok
2026-06-04T00:10:30.6722506Z test config::tests::pulse_period_is_config_driven ... ok
2026-06-04T00:10:30.6723702Z test config::tests::save_load_roundtrip ... ok
2026-06-04T00:10:30.6724560Z test consent::tests::decide_honors_full_auto_flag ... ok
2026-06-04T00:10:30.6729615Z test config::tests::relay_choice_is_config_driven ... ok
2026-06-04T00:10:30.6738178Z test consent::tests::no_live_session_resolves_to_none ... ok
2026-06-04T00:10:30.6757185Z test consent::tests::resolves_most_recently_active_live_session ... ok
2026-06-04T00:10:30.6782901Z test digest::tests::active_turn_growth_is_a_tail_delta ... ok
2026-06-04T00:10:30.6809716Z test daemon::tests::is_running_tracks_the_seed_channel ... ok
2026-06-04T00:10:30.6822748Z test digest::tests::applying_deltas_reconstructs_snapshot ... ok
2026-06-04T00:10:30.6849430Z test digest::tests::from_manifest_feeds_and_snapshots ... ok
2026-06-04T00:10:30.6852150Z test digest::tests::persistence_off_surfaces_nothing ... ok
2026-06-04T00:10:30.6894176Z test digest::tests::tool_sprint_is_structured_in_the_turn ... ok
2026-06-04T00:10:30.6904134Z test digest::tests::persistence_reports_each_completed_turn_once ... ok
2026-06-04T00:10:30.6916011Z test digest::tests::unchanged_feed_emits_no_delta ... ok
2026-06-04T00:10:30.6921081Z test digesthub::tests::publish_then_snapshot_reads_latest ... ok
2026-06-04T00:10:30.6922021Z test digesthub::tests::render_is_glanceable ... ok
2026-06-04T00:10:30.6922919Z test digesthub::tests::subscribe_returns_current_base ... ok
2026-06-04T00:10:30.6932989Z test digesthub::tests::subscriber_receives_changes_then_is_pruned ... ok
2026-06-04T00:10:30.6936468Z test digest::tests::window_slide_resends_from_zero ... ok
2026-06-04T00:10:30.6945924Z test effect::tests::applied_set_survives_reopen ... ok
2026-06-04T00:10:30.6949295Z test effect::tests::failed_effect_is_not_recorded_applied ... ok
2026-06-04T00:10:30.6964577Z test effect::tests::open_creates_missing_parent_dirs ... ok
2026-06-04T00:10:30.6974103Z test effect::tests::second_apply_for_same_key_is_deduped ... ok
2026-06-04T00:10:30.6977414Z test frame::tests::envelope_with_unknown_trailing_field_decodes_on_older_peer ... ok
2026-06-04T00:10:30.6979097Z test frame::tests::handshake_accepts_newer_brain_on_older_broker ... ok
2026-06-04T00:10:30.6980466Z test frame::tests::handshake_rejects_below_floor ... ok
2026-06-04T00:10:30.6982339Z test frame::tests::handshake_rejects_role_mismatch ... ok
2026-06-04T00:10:30.6983538Z test frame::tests::unknown_kind_is_not_a_decode_error ... ok
2026-06-04T00:10:30.7026096Z test effect::tests::gauntlet_is_exactly_once_across_brain_crashes ... ok
2026-06-04T00:10:30.7309558Z test lifecycle::tests::crash_signoff_spares_recovered_self ... ok
2026-06-04T00:10:30.7626372Z test lifecycle::tests::crash_signoff_tears_down_when_still_gone ... ok
2026-06-04T00:10:30.7659027Z test lifecycle::tests::daemon_hosted_psyche_liveness_is_status_not_pid ... ok
2026-06-04T00:10:30.7660619Z test lifecycle::tests::harness_owner_gone_anchors_on_parent_pid ... ok
2026-06-04T00:10:30.7979442Z test lifecycle::tests::orphan_watch_fires_on_dead_owner ... ok
2026-06-04T00:10:30.7990326Z test lifecycle::tests::orphan_watch_honors_stop_for_live_owner ... ok
2026-06-04T00:10:30.8309776Z test lifecycle::tests::pulse_loop_is_config_paced_and_killable ... ok
2026-06-04T00:10:30.8312161Z test msg::tests::bytes_round_trip_through_payload ... ok
2026-06-04T00:10:30.8313207Z test msg::tests::net_frames_round_trip_and_tolerate_unknown_fields ... ok
2026-06-04T00:10:30.8314339Z test msg::tests::output_envelope_round_trips ... ok
2026-06-04T00:10:30.8315195Z test msg::tests::spawn_req_tolerates_unknown_field ... ok
2026-06-04T00:10:30.8315997Z test lifecycle::tests::pulse_tick_ingests_drop ... ok
2026-06-04T00:10:30.8512184Z test nethost::tests::host_binds_endpoint_to_node_identity ... ok
2026-06-04T00:10:30.8733667Z test relay::tests::respawn_loses_no_spooled_message ... ok
2026-06-04T00:10:30.8835259Z test relay::tests::run_honors_stop ... ok
2026-06-04T00:10:30.8984767Z test release::tests::artifact_digest_mismatch_is_rejected ... ok
2026-06-04T00:10:30.9134502Z test release::tests::channel_mismatch_is_rejected ... ok
2026-06-04T00:10:30.9195232Z test nethost::tests::two_hosts_dial_over_loopback ... ok
2026-06-04T00:10:30.9214384Z test release::tests::hex_roundtrips ... ok
2026-06-04T00:10:30.9324349Z test release::tests::expired_metadata_is_rejected ... ok
2026-06-04T00:10:30.9343704Z test release::tests::revoked_key_is_rejected ... ok
2026-06-04T00:10:30.9484305Z test release::tests::tampered_metadata_fails_signature ... ok
2026-06-04T00:10:30.9624290Z test release::tests::untrusted_key_is_unknown ... ok
2026-06-04T00:10:30.9650279Z test release::tests::non_monotonic_version_is_rollback ... ok
2026-06-04T00:10:30.9685089Z test seedmap::tests::put_refreshes_existing ... ok
2026-06-04T00:10:30.9764482Z test seedmap::tests::put_then_take_consumes_once ... ok
2026-06-04T00:10:30.9768254Z test release::tests::valid_release_verifies_and_artifact_matches ... ok
2026-06-04T00:10:30.9774135Z test transport::tests::local_socket_handshake_and_frame_round_trip ... ok
2026-06-04T00:10:30.9776367Z test transport::tests::local_socket_rejects_wrong_role ... ok
2026-06-04T00:10:30.9777309Z test update::tests::apply_refuses_non_brain_only_plan ... ok
2026-06-04T00:10:30.9778268Z test update::tests::classify_brain_only_when_broker_hosts_new_brain ... ok
2026-06-04T00:10:30.9779280Z test update::tests::classify_broker_breaking_on_resource_abi_change ... ok
2026-06-04T00:10:30.9780311Z test update::tests::classify_broker_compatible_when_brain_below_floor ... ok
2026-06-04T00:10:30.9814778Z test seedmap::tests::take_absent_is_none ... ok
2026-06-04T00:10:30.9961479Z test update::tests::plan_verified_yields_a_plan_for_a_valid_release ... ok
2026-06-04T00:10:31.0074215Z test update::tests::plan_verified_produces_no_plan_for_a_rejected_release ... ok
2026-06-04T00:10:31.0075051Z 
2026-06-04T00:10:31.0075772Z test result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
2026-06-04T00:10:31.0076485Z 
2026-06-04T00:10:31.0090350Z [1m[92m     Running[0m tests/brain_swap.rs (target/debug/deps/brain_swap-c728eff150652aab)
2026-06-04T00:10:31.0107037Z 
2026-06-04T00:10:31.0107550Z running 1 test
2026-06-04T00:10:31.0147057Z test brain_only_update_swaps_logic_with_zero_endpoint_interruption ... ok
2026-06-04T00:10:31.0148080Z 
2026-06-04T00:10:31.0149079Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
2026-06-04T00:10:31.0151968Z 
2026-06-04T00:10:31.0153725Z [1m[92m     Running[0m tests/broker.rs (target/debug/deps/broker-5520ae4b5821759d)
2026-06-04T00:10:31.0170215Z 
2026-06-04T00:10:31.0170620Z running 1 test
2026-06-04T00:10:31.0204098Z test broker_hosts_pty_child_streams_output_and_accepts_input ... ok
2026-06-04T00:10:31.0204829Z 
2026-06-04T00:10:31.0205426Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
2026-06-04T00:10:31.0206160Z 
2026-06-04T00:10:31.0208238Z [1m[92m     Running[0m tests/daemon_e2e.rs (target/debug/deps/daemon_e2e-d9d5d5f2d2c8df52)
2026-06-04T00:10:31.0225331Z 
2026-06-04T00:10:31.0225730Z running 1 test
2026-06-04T00:10:31.0653623Z test daemon_hosts_lifecycle_and_survives_brain_restart ... ok
2026-06-04T00:10:31.0654438Z 
2026-06-04T00:10:31.0655037Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
2026-06-04T00:10:31.0655685Z 
2026-06-04T00:10:31.0661141Z [1m[92m     Running[0m tests/digest.rs (target/debug/deps/digest-02efd03aee0ae4fb)
2026-06-04T00:10:31.0680867Z 
2026-06-04T00:10:31.0681388Z running 1 test
2026-06-04T00:10:31.1563044Z test digest_daemon_half_end_to_end ... ok
2026-06-04T00:10:31.1563698Z 
2026-06-04T00:10:31.1569003Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
2026-06-04T00:10:31.1570496Z [1m[92m     Running[0m tests/handoff.rs (target/debug/deps/handoff-a98ae8243f157070)
2026-06-04T00:10:31.1570995Z 
2026-06-04T00:10:31.1587628Z 
2026-06-04T00:10:31.1587994Z running 1 test
2026-06-04T00:10:31.1659012Z test brain_restart_survives_gaplessly_with_fresh_gen_start ... ok
2026-06-04T00:10:31.1659676Z 
2026-06-04T00:10:31.1663844Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
2026-06-04T00:10:31.1664477Z 
2026-06-04T00:10:31.1667336Z [1m[92m     Running[0m tests/idempotent.rs (target/debug/deps/idempotent-4e11ebcca47e82d5)
2026-06-04T00:10:31.1682774Z 
2026-06-04T00:10:31.1683144Z running 1 test
2026-06-04T00:10:31.1791823Z test pty_writes_are_exactly_once_across_brain_crashes ... ok
2026-06-04T00:10:31.1793956Z 
2026-06-04T00:10:31.1794666Z test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
2026-06-04T00:10:31.1795387Z 
2026-06-04T00:10:31.1804128Z [1m[92m     Running[0m tests/netbroker.rs (target/debug/deps/netbroker-6e077597d84a63ce)
2026-06-04T00:10:31.1834552Z 
2026-06-04T00:10:31.1836401Z running 5 tests
2026-06-04T00:10:31.2038415Z test broker_owns_endpoint_and_reports_status ... ok
2026-06-04T00:10:31.2064519Z test netless_broker_probes_gracefully ... ok
2026-06-04T00:10:31.2698163Z test replayed_dial_op_is_deduped_across_brain_restart ... ok
2026-06-04T00:10:31.2759562Z test brain_dials_second_broker_over_loopback ... ok
2026-06-04T00:10:31.2835087Z test unknown_net_frame_is_reported_not_fatal ... ok
2026-06-04T00:10:31.2844095Z 
2026-06-04T00:10:31.2845055Z test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
2026-06-04T00:10:31.2846151Z 
2026-06-04T00:10:31.2874269Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_live-a797f37c64221631)
2026-06-04T00:10:31.2898510Z 
2026-06-04T00:10:31.2909281Z running 35 tests
2026-06-04T00:10:31.2910212Z test context::tests::direct_always_writes ... ok
2026-06-04T00:10:31.2911009Z test context::tests::llm_over_llm_writes ... ok
2026-06-04T00:10:31.2911753Z test context::tests::llm_past_window_writes ... ok
2026-06-04T00:10:31.2912584Z test context::tests::llm_within_window_suppressed ... ok
2026-06-04T00:10:31.2913535Z test context::tests::marker_round_trips ... ok
2026-06-04T00:10:31.2914326Z test context::tests::write_context_suppresses_stale_llm ... ok
2026-06-04T00:10:31.2941355Z test echo::tests::echo_child_is_recursion_guarded ... ok
2026-06-04T00:10:31.2954861Z test echo::tests::echo_nonzero_errors ... ok
2026-06-04T00:10:31.2955637Z test echo::tests::provenance_is_stamped ... ok
2026-06-04T00:10:31.3138031Z test echo::tests::echo_consumes_history_and_writes_commune ... ok
2026-06-04T00:10:31.3355288Z test history::tests::fetcher_yields_records ... ok
2026-06-04T00:10:31.3577669Z test history::tests::locate_normalize_reads_and_normalizes ... ok
2026-06-04T00:10:31.3578744Z test history::tests::missing_fetcher_field_errors ... ok
2026-06-04T00:10:31.3580669Z test history::tests::native_missing_log_is_empty ... ok
2026-06-04T00:10:31.3586232Z test history::tests::native_reads_logged_records ... ok
2026-06-04T00:10:31.3594718Z test ingest::tests::both_drops_ingested ... ok
2026-06-04T00:10:31.3600318Z test ingest::tests::commune_drop_is_ingested_and_deleted ... ok
2026-06-04T00:10:31.3604684Z test ingest::tests::no_drops_is_empty ... ok
2026-06-04T00:10:31.3610604Z test ingest::tests::stale_commune_suppressed_but_deleted ... ok
2026-06-04T00:10:31.3611482Z test psyche::tests::prompt_includes_time_and_event ... ok
2026-06-04T00:10:31.3612494Z test psyche::tests::prompt_without_event ... ok
2026-06-04T00:10:31.3832181Z test psyche::tests::spawn_binds_nested_perch_and_sets_guard ... ok
2026-06-04T00:10:31.3838453Z test pulse::tests::echo_gate_fires_exactly_once ... ok
2026-06-04T00:10:31.3844591Z test pulse::tests::tick_ingests_drops ... ok
2026-06-04T00:10:31.3856048Z test pulse::tests::tick_reports_idle ... ok
2026-06-04T00:10:31.4067083Z test resume::tests::continue_existing_resumes_session ... ok
2026-06-04T00:10:31.4071639Z test resume::tests::download_reads_stored_context ... ok
2026-06-04T00:10:31.4301740Z test resume::tests::fresh_with_preload_launches_preloaded ... ok
2026-06-04T00:10:31.4302540Z test resume::tests::missing_key_errors_before_spawn ... ok
2026-06-04T00:10:31.4307165Z test signoff::tests::boundary_writes_resume_commune ... ok
2026-06-04T00:10:31.4307813Z test signoff::tests::echo_precedes_signoff_compose ... ok
2026-06-04T00:10:31.4311554Z test signoff::tests::missing_session_skips_echo ... ok
2026-06-04T00:10:31.4312363Z test signoff::tests::recovered_self_is_not_signed_off ... ok
2026-06-04T00:10:31.4312928Z test signoff::tests::stale_signoff_swept ... ok
2026-06-04T00:10:31.5990473Z test history::tests::fetcher_timeout_errors ... ok
2026-06-04T00:10:31.5991100Z 
2026-06-04T00:10:31.5991672Z test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
2026-06-04T00:10:31.5992419Z 
2026-06-04T00:10:31.5999662Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_msg-abf533e438e0c678)
2026-06-04T00:10:31.6014825Z 
2026-06-04T00:10:31.6015287Z running 22 tests
2026-06-04T00:10:31.6021023Z test deliver::tests::deferred_send_validates ... ok
2026-06-04T00:10:31.6104530Z test deliver::tests::deferred_send_skips_stream_drain_survives_for_hook ... ok
2026-06-04T00:10:31.6122313Z test deliver::tests::offline_existing_perch_spools ... ok
2026-06-04T00:10:31.6195794Z test deliver::tests::online_delivers_via_tcp_without_spooling ... ok
2026-06-04T00:10:31.6223423Z test deliver::tests::recycled_pid_address_does_not_misdeliver ... ok
2026-06-04T00:10:31.6243110Z test listener::tests::bind_registers_and_round_trips ... ok
2026-06-04T00:10:31.6249508Z test deliver::tests::send_outcome_mapping ... ok
2026-06-04T00:10:31.6594278Z test listener::tests::blocking_accepts_within_window ... ok
2026-06-04T00:10:31.6634775Z test listener::tests::drop_unregisters_address ... ok
2026-06-04T00:10:31.6711702Z test ready::tests::backlog_drains_on_start ... ok
2026-06-04T00:10:31.7086754Z test ready::tests::recv_gets_live_tcp_message ... ok
2026-06-04T00:10:31.7175022Z test ready::tests::soft_cleanup_preserves_spool_and_info ... ok
2026-06-04T00:10:31.7242184Z test ready::tests::start_registers_resolvable_perch ... ok
2026-06-04T00:10:31.7287118Z test listener::tests::blocking_times_out_when_idle ... ok
2026-06-04T00:10:31.7294068Z test ring::tests::ring_no_perch ... ok
2026-06-04T00:10:31.7372784Z test ring::tests::ring_gets_reply_and_cleans_up ... ok
2026-06-04T00:10:31.7420478Z test ring::tests::ring_offline_target_queues_and_cleans_up ... ok
2026-06-04T00:10:31.7429872Z test wire::tests::format_empty_from_is_anonymous ... ok
2026-06-04T00:10:31.7431597Z test wire::tests::format_with_from_prepends_reply_to ... ok
2026-06-04T00:10:31.7444510Z test wire::tests::frame_round_trips_over_loopback ... ok
2026-06-04T00:10:31.7445238Z test wire::tests::oversized_length_prefix_rejected ... ok
2026-06-04T00:10:32.0034336Z test ring::tests::ring_timeout_cleans_up ... ok
2026-06-04T00:10:32.0036055Z [1m[92m     Running[0m tests/killer_quickstart.rs (target/debug/deps/killer_quickstart-e5c76ca7bf4f6aa4)
2026-06-04T00:10:32.0036859Z 
2026-06-04T00:10:32.0037530Z test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
2026-06-04T00:10:32.0041842Z 
2026-06-04T00:10:32.0051816Z 
2026-06-04T00:10:32.0052205Z running 2 tests
2026-06-04T00:10:32.0264628Z test offline_then_online_delivers_backlog ... ok
2026-06-04T00:10:32.0364759Z test two_agents_exchange_message_tcp_and_spool ... ok
2026-06-04T00:10:32.0365426Z 
2026-06-04T00:10:32.0366276Z test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
2026-06-04T00:10:32.0384403Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_net-ad3a1aee84210a5b)
2026-06-04T00:10:32.0385080Z 
2026-06-04T00:10:32.0401145Z 
2026-06-04T00:10:32.0401832Z running 67 tests
2026-06-04T00:10:32.0409284Z test net::endpoint::tests::mdns_discovery_connects_by_id ... ignored, needs LAN multicast; run with --ignored or on the D9 two-host rig
2026-06-04T00:10:32.0547700Z test net::endpoint::tests::endpoint_id_binds_to_identity ... ok
2026-06-04T00:10:32.0548793Z test net::pairing::ratelimit::tests::abandoned_ceremony_is_reclaimed_and_charged ... ok
2026-06-04T00:10:32.0555355Z test net::pairing::ratelimit::tests::backoff_curve_doubles_then_caps ... ok
2026-06-04T00:10:32.0558125Z test net::pairing::ratelimit::tests::backoff_is_per_subnet ... ok
2026-06-04T00:10:32.0571519Z test net::pairing::ratelimit::tests::failures_impose_exponential_backoff ... ok
2026-06-04T00:10:32.0575765Z test net::pairing::ratelimit::tests::first_ceremony_is_free_and_success_resets ... ok
2026-06-04T00:10:32.0577052Z test net::pairing::ratelimit::tests::one_active_ceremony_per_subnet ... ok
2026-06-04T00:10:32.0586013Z test net::pairing::ratelimit::tests::success_clears_accumulated_backoff ... ok
2026-06-04T00:10:32.0595693Z test net::pairing::rendezvous::tests::distinct_same_length_names_diverge ... ok
2026-06-04T00:10:32.0602052Z test net::pairing::rendezvous::tests::length_prefix_prevents_boundary_collision ... ok
2026-06-04T00:10:32.0608392Z test net::pairing::rendezvous::tests::token_is_deterministic ... ok
2026-06-04T00:10:32.0609735Z test net::pairing::rendezvous::tests::token_varies_with_name_and_step ... ok
2026-06-04T00:10:32.0610971Z test net::pairing::rendezvous::tests::window_is_three_adjacent_tokens ... ok
2026-06-04T00:10:32.1184939Z test net::endpoint::tests::two_endpoints_loopback_echo ... ok
2026-06-04T00:10:32.1749144Z test net::pairing::spake::tests::reflected_role_is_rejected_by_pake ... ok
2026-06-04T00:10:32.1774112Z test net::pairing::spake::tests::matching_code_pairs_and_agrees_on_key ... ok
2026-06-04T00:10:32.2866402Z test net::pairing::spake::tests::stale_epoch_fails ... ok
2026-06-04T00:10:32.2904308Z test net::pairing::spake::tests::stale_step_fails ... ok
2026-06-04T00:10:32.4014338Z test net::pairing::spake::tests::substituted_pubkey_fails ... ok
2026-06-04T00:10:32.4032650Z test net::pairing::spake::tests::tampered_tag_fails ... ok
2026-06-04T00:10:32.5122925Z test net::pairing::spake::tests::wrong_code_fails_at_confirmation_not_spake ... ok
2026-06-04T00:10:32.5134347Z test net::pairing::totp::tests::code_at_is_six_zero_padded_digits ... ok
2026-06-04T00:10:32.5150504Z test net::pairing::totp::tests::debug_redacts_seed ... ok
2026-06-04T00:10:32.5157256Z test net::pairing::spake::tests::wrong_subnet_fails ... ok
2026-06-04T00:10:32.5158280Z test net::pairing::totp::tests::generated_seeds_are_distinct ... ok
2026-06-04T00:10:32.5159324Z test net::pairing::totp::tests::matches_rfc6238_appendix_b_vectors ... ok
2026-06-04T00:10:32.5160336Z test net::pairing::totp::tests::otpauth_uri_is_well_formed_and_encoded ... ok
2026-06-04T00:10:32.5161386Z test net::pairing::totp::tests::time_step_is_floor_unix_over_period ... ok
2026-06-04T00:10:32.5162380Z test net::pairing::totp::tests::window_accepts_plus_minus_one_only ... ok
2026-06-04T00:10:32.5163557Z test net::pairing::totp::tests::seed_round_trips_through_base32 ... ok
2026-06-04T00:10:32.5174495Z test net::pairing::transcript::tests::each_bound_field_changes_the_tag ... ok
2026-06-04T00:10:32.5175696Z test net::pairing::transcript::tests::diverged_shared_secret_fails_verification ... ok
2026-06-04T00:10:32.5181187Z test net::pairing::transcript::tests::length_prefixing_prevents_boundary_collision ... ok
2026-06-04T00:10:32.5204171Z test net::pairing::transcript::tests::matching_tag_verifies_and_roles_differ ... ok
2026-06-04T00:10:32.5214088Z test net::pairing::transcript::tests::message_order_is_bound ... ok
2026-06-04T00:10:32.5224332Z test net::pairing::transcript::tests::pake_identity_binds_role_and_context ... ok
2026-06-04T00:10:32.5892798Z test net::pairing::wire::tests::busy_subnet_refuses_ceremony ... ok
2026-06-04T00:10:32.5904616Z test net::pairing::wire::tests::frame_codec_round_trips_and_rejects_garbage ... ok
2026-06-04T00:10:32.7144814Z test net::pairing::wire::tests::create_new_then_join_learns_named_subnet ... ok
2026-06-04T00:10:32.7770852Z test net::pairing::wire::tests::loopback_pairs_and_pins_both_sides ... ok
2026-06-04T00:10:32.8464582Z test net::pairing::wire::tests::stale_step_is_rejected ... ok
2026-06-04T00:10:32.9084598Z test net::pairing::wire::tests::repair_member_keeps_seed ... ok
2026-06-04T00:10:32.9104362Z test net::pairing::wire::tests::unknown_subnet_is_rejected ... ok
2026-06-04T00:10:32.9120943Z test net::registry::tests::advertise_if_visible_gates_before_join ... ok
2026-06-04T00:10:32.9122100Z test net::registry::tests::distinct_nodes_are_separate_instances ... ok
2026-06-04T00:10:32.9123049Z test net::registry::tests::equal_epoch_replay_is_stale_noop ... ok
2026-06-04T00:10:32.9124117Z test net::registry::tests::excluded_endpoint_is_not_routable_even_via_node_pin ... ok
2026-06-04T00:10:32.9124936Z test net::registry::tests::exclusion_prunes_cross_subnet_ambiguity ... ok
2026-06-04T00:10:32.9125676Z test net::registry::tests::join_collides_even_with_offline_holder ... ok
2026-06-04T00:10:32.9126488Z test net::registry::tests::join_colliding_id_on_other_node_refuses_untouched ... ok
2026-06-04T00:10:32.9127250Z test net::registry::tests::join_fresh_id_is_inserted ... ok
2026-06-04T00:10:32.9127934Z test net::registry::tests::join_same_name_in_different_subnet_is_legal ... ok
2026-06-04T00:10:32.9128686Z test net::registry::tests::join_same_node_falls_through_to_lease ... ok
2026-06-04T00:10:32.9129251Z test net::registry::tests::newer_epoch_supersedes_same_node ... ok
2026-06-04T00:10:32.9129693Z test net::registry::tests::registry_serde_roundtrips ... ok
2026-06-04T00:10:32.9130133Z test net::registry::tests::rename_collision_refuses_whole_ripple ... ok
2026-06-04T00:10:32.9131055Z test net::registry::tests::rename_ripples_rows_across_advertised_subnets ... ok
2026-06-04T00:10:32.9131580Z test net::registry::tests::resolve_across_bare_id_in_two_subnets_refuses ... ok
2026-06-04T00:10:32.9132087Z test net::registry::tests::resolve_across_subnet_qualified_routes_there ... ok
2026-06-04T00:10:32.9132558Z test net::registry::tests::resolve_across_unique_id_resolves ... ok
2026-06-04T00:10:32.9133016Z test net::registry::tests::resolve_multiple_live_nodes_refuses ... ok
2026-06-04T00:10:32.9134057Z test net::registry::tests::resolve_node_qualifier_pins_and_offline_is_not_found ... ok
2026-06-04T00:10:32.9134805Z test net::registry::tests::resolve_prefers_local_instance ... ok
2026-06-04T00:10:32.9135519Z test net::registry::tests::resolve_sole_live_remote_and_skips_offline ... ok
2026-06-04T00:10:32.9136285Z test net::registry::tests::stale_active_cannot_clobber_newer_offline ... ok
2026-06-04T00:10:33.0831307Z test net::pairing::wire::tests::wrong_code_fails_and_writes_no_trust ... ok
2026-06-04T00:10:33.0832163Z 
2026-06-04T00:10:33.0832729Z test result: ok. 66 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.04s
2026-06-04T00:10:33.0833761Z 
2026-06-04T00:10:33.0854801Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_proto-62a49dc768a9bcf7)
2026-06-04T00:10:33.0868231Z 
2026-06-04T00:10:33.0868675Z running 53 tests
2026-06-04T00:10:33.0871834Z test addr::tests::display_round_trips ... ok
2026-06-04T00:10:33.0872766Z test addr::tests::parses_every_qualifier_combination ... ok
2026-06-04T00:10:33.0874244Z test addr::tests::rejects_doubled_delimiters ... ok
2026-06-04T00:10:33.0878680Z test addr::tests::rejects_empty_or_bad_components ... ok
2026-06-04T00:10:33.0879669Z test chunk::tests::malformed_parts_return_none ... ok
2026-06-04T00:10:33.0880424Z test chunk::tests::missing_middle_part_is_dropped ... ok
2026-06-04T00:10:33.0881211Z test chunk::tests::orphan_group_without_head_is_dropped ... ok
2026-06-04T00:10:33.0882140Z test chunk::tests::oversized_line_splits_and_each_part_is_well_formed_and_bounded ... ok
2026-06-04T00:10:33.0883194Z test chunk::tests::reassemble_stream_handles_mixed_traffic ... ok
2026-06-04T00:10:33.0895036Z test chunk::tests::short_line_passes_through_unchunked ... ok
2026-06-04T00:10:33.0896033Z test endpoint::tests::agent_vs_shell_split ... ok
2026-06-04T00:10:33.0896835Z test endpoint::tests::broker_and_node_families ... ok
2026-06-04T00:10:33.0897644Z test endpoint::tests::day_one_tags_round_trip ... ok
2026-06-04T00:10:33.0898407Z test endpoint::tests::shell_kind_round_trips ... ok
2026-06-04T00:10:33.0899228Z test endpoint::tests::unknown_tag_tolerated_and_preserved ... ok
2026-06-04T00:10:33.0900210Z test envelope::tests::body_escape_unescape_round_trips_html_and_newlines ... ok
2026-06-04T00:10:33.0901287Z test envelope::tests::decode_is_amp_last_so_literal_entities_do_not_double_decode ... ok
2026-06-04T00:10:33.0902337Z test envelope::tests::from_attr_returns_none_on_garbage_or_empty ... ok
2026-06-04T00:10:33.0904105Z test envelope::tests::from_attr_unescape_is_amp_last ... ok
2026-06-04T00:10:33.0905024Z test envelope::tests::parser_both_tags_present ... ok
2026-06-04T00:10:33.0905939Z test envelope::tests::parser_empty_body_is_some_empty_and_nested_tags_preserved ... ok
2026-06-04T00:10:33.0906970Z test envelope::tests::parser_no_tags_falls_back_whole_payload_to_live ... ok
2026-06-04T00:10:33.0907958Z test envelope::tests::parser_out_of_order_tags_both_extracted ... ok
2026-06-04T00:10:33.0908911Z test envelope::tests::parser_unclosed_live_tag_does_not_scoop_project ... ok
2026-06-04T00:10:33.0909792Z test event::tests::alarm_event_round_trips ... ok
2026-06-04T00:10:33.0910522Z test event::tests::attr_decode_is_amp_last ... ok
2026-06-04T00:10:33.0911215Z test event::tests::attr_order_preserved ... ok
2026-06-04T00:10:33.0911995Z test event::tests::body_with_literal_event_tokens_round_trips ... ok
2026-06-04T00:10:33.0912864Z test event::tests::empty_body_envelope_parses ... ok
2026-06-04T00:10:33.0913978Z test event::tests::malformed_inputs_return_none_without_panic ... ok
2026-06-04T00:10:33.0915283Z test event::tests::msg_event_round_trips ... ok
2026-06-04T00:10:33.0916036Z test event::tests::typed_envelope_detected_and_parsed ... ok
2026-06-04T00:10:33.0916859Z test event::tests::typed_predicate_rejects_partials ... ok
2026-06-04T00:10:33.0925010Z test id::tests::accepts_japanese_scripts ... ok
2026-06-04T00:10:33.0927240Z test id::tests::accepts_plain_and_composite_ids ... ok
2026-06-04T00:10:33.0939517Z test id::tests::rejects_empty_and_overlong ... ok
2026-06-04T00:10:33.0954264Z test id::tests::rejects_path_whitespace_and_control ... ok
2026-06-04T00:10:33.0973864Z test id::tests::reports_bad_char_position ... ok
2026-06-04T00:10:33.0993786Z test id::tests::reserves_address_delimiters ... ok
2026-06-04T00:10:33.0994382Z test identity::tests::bad_inputs_error_without_panic ... ok
2026-06-04T00:10:33.1091845Z test identity::tests::known_answer_fixed_seed_is_stable ... ok
2026-06-04T00:10:33.1103968Z test identity::tests::public_key_hex_round_trips ... ok
2026-06-04T00:10:33.1255520Z test chunk::tests::split_then_reassemble_is_byte_identity ... ok
2026-06-04T00:10:33.1264102Z test payload::tests::base64_known_vectors ... ok
2026-06-04T00:10:33.1265934Z test payload::tests::binary_blob_round_trips_all_byte_values ... ok
2026-06-04T00:10:33.1269144Z test payload::tests::blob_padding_lengths_round_trip ... ok
2026-06-04T00:10:33.1270731Z test payload::tests::command_payload_round_trips ... ok
2026-06-04T00:10:33.1271563Z test payload::tests::text_payload_round_trips ... ok
2026-06-04T00:10:33.1272561Z test payload::tests::unknown_or_malformed_decodes_to_none ... ok
2026-06-04T00:10:33.1273584Z test version::tests::current_version_self_compatible ... ok
2026-06-04T00:10:33.1274496Z test version::tests::n_minus_one_window_accepts_and_rejects ... ok
2026-06-04T00:10:33.1275364Z test version::tests::window_floor_saturates_at_zero ... ok
2026-06-04T00:10:33.1670637Z test identity::tests::sign_verify_round_trip ... ok
2026-06-04T00:10:33.1671908Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_runtime-2b5b924813feb8ea)
2026-06-04T00:10:33.1683906Z 
2026-06-04T00:10:33.1684989Z test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
2026-06-04T00:10:33.1685696Z 
2026-06-04T00:10:33.1686108Z 
2026-06-04T00:10:33.1686421Z running 21 tests
2026-06-04T00:10:33.1704352Z test manifest::tests::fetcher_strategy_requires_fetcher_field ... ok
2026-06-04T00:10:33.1705234Z test manifest::tests::harness_kind_with_shell_section_fails_validation ... ok
2026-06-04T00:10:33.1724363Z test manifest::tests::inject_env_without_value_fails_validation ... ok
2026-06-04T00:10:33.1735376Z test manifest::tests::minimal_header_only_manifest_is_valid ... ok
2026-06-04T00:10:33.1736375Z test manifest::tests::pty_digest_minimal_defaults ... ok
2026-06-04T00:10:33.1737213Z test manifest::tests::harness_fixture_parses_all_sections ... ok
2026-06-04T00:10:33.1738116Z test manifest::tests::pty_digest_requires_both_boundaries ... ok
2026-06-04T00:10:33.1740080Z test manifest::tests::pty_digest_round_trips ... ok
2026-06-04T00:10:33.1740798Z test manifest::tests::round_trips_through_toml ... ok
2026-06-04T00:10:33.1752356Z test manifest::tests::shell_fixture_parses ... ok
2026-06-04T00:10:33.1774041Z test manifest::tests::shell_kind_without_shell_section_fails_validation ... ok
2026-06-04T00:10:33.1781396Z test manifest::tests::syntactically_broken_toml_is_an_error_not_a_panic ... ok
2026-06-04T00:10:33.1782432Z test manifest::tests::unknown_enum_variant_is_an_error_not_a_panic ... ok
2026-06-04T00:10:33.1783586Z test manifest::tests::update_avenue_content_signing_fields ... ok
2026-06-04T00:10:33.1970394Z test runtime::tests::bounded_run_captures_success ... ok
2026-06-04T00:10:33.1971326Z test runtime::tests::fills_known_placeholders ... ok
2026-06-04T00:10:33.1972360Z test runtime::tests::missing_key_errors_before_spawn ... ok
2026-06-04T00:10:33.1988985Z test runtime::tests::spawn_session_detached_returns_pid ... ok
2026-06-04T00:10:33.1990588Z test runtime::tests::tokenize_honors_double_quotes ... ok
2026-06-04T00:10:33.1991297Z test runtime::tests::unknown_role_errors ... ok
2026-06-04T00:10:33.4805892Z test runtime::tests::bounded_run_kills_on_timeout ... ok
2026-06-04T00:10:33.4806560Z 
2026-06-04T00:10:33.4807138Z test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
2026-06-04T00:10:33.4807900Z 
2026-06-04T00:10:33.4815005Z [1m[92m     Running[0m unittests src/lib.rs (target/debug/deps/spt_store-9c01ab506ea883e9)
2026-06-04T00:10:33.4827208Z 
2026-06-04T00:10:33.4827597Z running 77 tests
2026-06-04T00:10:33.4835983Z test atomic::tests::atomic_write_bytes_round_trips ... ok
2026-06-04T00:10:33.4836957Z test atomic::tests::retry_absorbs_transient_then_succeeds ... ok
2026-06-04T00:10:33.4839144Z test atomic::tests::retry_does_not_retry_non_transient ... ok
2026-06-04T00:10:33.4840127Z test atomic::tests::retry_gives_up_after_max_attempts ... ok
2026-06-04T00:10:33.4841057Z test atomic::tests::to_forward_slash_strips_unc_prefix ... ok
2026-06-04T00:10:33.4841949Z test atomic::tests::atomic_write_creates_and_replaces ... ok
2026-06-04T00:10:33.4845233Z test epoch::tests::corrupt_or_absent_file_degrades_safely ... ok
2026-06-04T00:10:33.4850383Z test epoch::tests::counter_persists_across_reload ... ok
2026-06-04T00:10:33.4856612Z test history::tests::appends_one_record_per_line ... ok
2026-06-04T00:10:33.4857700Z test epoch::tests::next_is_strictly_increasing_from_one ... ok
2026-06-04T00:10:33.4865308Z test info::tests::busy_sentinel_round_trips_and_read_pid_is_none ... ok
2026-06-04T00:10:33.4881268Z test info::tests::corrupt_content_returns_none ... ok
2026-06-04T00:10:33.4897133Z test info::tests::read_pid_tolerates_schema_minimal ... ok
2026-06-04T00:10:33.4907370Z test info::tests::set_last_active_stamps_recency ... ok
2026-06-04T00:10:33.4923222Z test info::tests::set_status_marks_existing_record ... ok
2026-06-04T00:10:33.4943096Z test info::tests::write_read_round_trip ... ok
2026-06-04T00:10:33.4945548Z test liveness::tests::busy_and_missing_keep_interim_parity ... ok
2026-06-04T00:10:33.4946472Z test liveness::tests::daemon_hosted_offline_overrides_live_pid ... ok
2026-06-04T00:10:33.4947382Z test liveness::tests::daemon_hosted_online_survives_dead_pid ... ok
2026-06-04T00:10:33.4948260Z test liveness::tests::external_perch_still_pid_probes ... ok
2026-06-04T00:10:33.4949164Z test liveness::tests::registry_entry_keys_on_status_for_hosted_rows ... ok
2026-06-04T00:10:33.4950072Z test nodeid::tests::corrupt_key_errors_never_regenerates ... ok
2026-06-04T00:10:33.4950899Z test nodeid::tests::create_then_load_is_stable ... ok
2026-06-04T00:10:33.4973965Z test nodeid::tests::seed_hex_round_trips ... ok
2026-06-04T00:10:33.4986921Z test perch::tests::child_files_route_through_one_resolver ... ok
2026-06-04T00:10:33.4997135Z test perch::tests::classification_matrix ... ok
2026-06-04T00:10:33.5029797Z test perch::tests::explicit_parent_wins_over_infer ... ok
2026-06-04T00:10:33.5042174Z test perch::tests::list_self_perch_ids_enumerates_bound_top_level ... ok
2026-06-04T00:10:33.5058144Z test perch::tests::resolve_psyche_and_worker_nest_under_parent ... ok
2026-06-04T00:10:33.5079367Z test perch::tests::resolve_self_is_flat ... ok
2026-06-04T00:10:33.5096773Z test perch::tests::spt_home_is_pure_and_honors_env ... ok
2026-06-04T00:10:33.5105446Z test proc::tests::current_process_is_alive ... ok
2026-06-04T00:10:33.5120398Z test proc::tests::parent_pid_resolves_and_is_alive ... ok
2026-06-04T00:10:33.5127134Z test proc::tests::pid_zero_is_dead_on_every_os ... ok
2026-06-04T00:10:33.5127770Z test proc::tests::unassigned_pid_is_dead ... ok
2026-06-04T00:10:33.5304640Z test registry::tests::clean_keys_on_status_for_daemon_hosted_rows ... ok
2026-06-04T00:10:33.5469523Z test info::tests::concurrent_read_during_writes_never_torn ... ok
2026-06-04T00:10:33.5520129Z test registry::tests::clean_removes_dead_keeps_live ... ok
2026-06-04T00:10:33.5581673Z test registry::tests::register_and_lookup ... ok
2026-06-04T00:10:33.5642397Z test registry::tests::reregister_replaces_address ... ok
2026-06-04T00:10:33.5711017Z test registry::tests::resolve_cleans_before_lookup ... ok
2026-06-04T00:10:33.5757940Z test registry::tests::resolve_on_empty_registry_is_none_not_error ... ok
2026-06-04T00:10:33.5763569Z test rename::tests::live_nested_child_blocks_rename ... ok
2026-06-04T00:10:33.5765456Z test rename::tests::rename_refusals_leave_owlery_untouched ... ok
2026-06-04T00:10:33.5778939Z test rename::tests::rename_ripples_self_and_nested_children ... FAILED
2026-06-04T00:10:33.5779807Z test seed::tests::absent_cwd_is_omitted ... ok
2026-06-04T00:10:33.5780633Z test seed::tests::seed_round_trips_through_json ... ok
2026-06-04T00:10:33.5884912Z test spool::tests::deferred_row_survives_event_drain_then_hook_delivers ... ok
2026-06-04T00:10:33.5955364Z test spool::tests::drain_marks_delivered_and_is_idempotent ... ok
2026-06-04T00:10:33.6188087Z test registry::tests::concurrent_registration_never_locks ... ok
2026-06-04T00:10:33.6201374Z test spool::tests::event_part_body_persists_byte_exact ... ok
2026-06-04T00:10:33.6264456Z test spool::tests::reopen_is_idempotent ... ok
2026-06-04T00:10:33.6299778Z test spool::tests::non_deferred_drain_skips_deferred_and_preserves_order ... ok
2026-06-04T00:10:33.6303606Z test subnet::tests::add_joined_preserves_seed_and_epoch ... ok
2026-06-04T00:10:33.6305079Z test spool::tests::spool_touches_has_messages_sentinel ... ok
2026-06-04T00:10:33.6306091Z test subnet::tests::create_subnet_starts_at_epoch_one_unique_name ... ok
2026-06-04T00:10:33.6311613Z test subnet::tests::hex_round_trips_and_rejects_bad_input ... ok
2026-06-04T00:10:33.6312594Z test subnet::tests::hide_new_endpoints_defaults_off_and_persists ... ok
2026-06-04T00:10:33.6320758Z test subnet::tests::minted_seeds_are_random ... ok
2026-06-04T00:10:33.6321631Z test subnet::tests::missing_or_corrupt_file_is_empty_store ... ok
2026-06-04T00:10:33.6329260Z test subnet::tests::remove_drops_membership ... ok
2026-06-04T00:10:33.6330146Z test subnet::tests::rotate_bumps_epoch_and_changes_seed ... ok
2026-06-04T00:10:33.6340393Z test subnet::tests::store_persists_multi_subnet_and_rotation ... ok
2026-06-04T00:10:33.6350436Z test trust::tests::first_use_pins_then_is_trusted_idempotently ... ok
2026-06-04T00:10:33.6351423Z test trust::tests::label_anchor_is_subnet_scoped ... ok
2026-06-04T00:10:33.6354443Z test trust::tests::labelled_key_change_warns_without_mutating ... ok
2026-06-04T00:10:33.6355398Z test trust::tests::peers_in_filters_by_subnet ... ok
2026-06-04T00:10:33.6356166Z test trust::tests::repin_applies_accepted_key_change ... ok
2026-06-04T00:10:33.6356891Z test trust::tests::revoke_removes_trust ... ok
2026-06-04T00:10:33.6357711Z test trust::tests::store_persists_and_degrades_gracefully ... ok
2026-06-04T00:10:33.6358327Z test trust::tests::trust_is_scoped_per_subnet ... ok
2026-06-04T00:10:33.6358921Z test trust::tests::unlabelled_distinct_keys_each_pin ... ok
2026-06-04T00:10:33.6359591Z test visibility::tests::hidden_gates_sync_even_when_listed ... ok
2026-06-04T00:10:33.6360261Z test visibility::tests::hidden_is_or_of_defaults ... ok
2026-06-04T00:10:33.6360854Z test visibility::tests::override_wins_both_directions ... ok
2026-06-04T00:10:33.6361511Z test visibility::tests::synced_requires_membership_listing ... ok
2026-06-04T00:10:33.6363657Z test visibility::tests::store_persists_and_degrades_safe ... ok
2026-06-04T00:10:33.6364684Z 
2026-06-04T00:10:33.6365094Z failures:
2026-06-04T00:10:33.6365489Z 
2026-06-04T00:10:33.6366021Z ---- rename::tests::rename_ripples_self_and_nested_children stdout ----
2026-06-04T00:10:33.6366688Z 
2026-06-04T00:10:33.6367543Z thread 'rename::tests::rename_ripples_self_and_nested_children' (3568) panicked at crates/spt-store/src/rename.rs:163:9:
2026-06-04T00:10:33.6368687Z assertion `left == right` failed
2026-06-04T00:10:33.6369323Z   left: ["oak", "oak-w1", "oak-psyche"]
2026-06-04T00:10:33.6369936Z  right: ["oak", "oak-psyche", "oak-w1"]
2026-06-04T00:10:33.6371150Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2026-06-04T00:10:33.6371787Z 
2026-06-04T00:10:33.6371995Z 
2026-06-04T00:10:33.6372315Z failures:
2026-06-04T00:10:33.6372883Z     rename::tests::rename_ripples_self_and_nested_children
2026-06-04T00:10:33.6373628Z 
2026-06-04T00:10:33.6374232Z [1m[91merror[0m: test failed, to rerun pass `-p spt-store --lib`
2026-06-04T00:10:33.6375174Z test result: FAILED. 76 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
2026-06-04T00:10:33.6375902Z 
2026-06-04T00:10:33.6475757Z ##[error]Process completed with exit code 101.
2026-06-04T00:10:33.6595353Z Post job cleanup.
2026-06-04T00:10:33.7661396Z [command]/usr/bin/git version
2026-06-04T00:10:33.7705472Z git version 2.54.0
2026-06-04T00:10:33.7753226Z Temporarily overriding HOME='/home/runner/work/_temp/bf7590b6-ea96-49af-ace5-d9a9e406c091' before making global git config changes
2026-06-04T00:10:33.7755023Z Adding repository directory to the temporary git global config as a safe directory
2026-06-04T00:10:33.7761574Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/spt-core/spt-core
2026-06-04T00:10:33.7817141Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-06-04T00:10:33.7860797Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-06-04T00:10:33.8147243Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-06-04T00:10:33.8177886Z http.https://github.com/.extraheader
2026-06-04T00:10:33.8192173Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-06-04T00:10:33.8230551Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-06-04T00:10:33.8508980Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-06-04T00:10:33.8570879Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-06-04T00:10:33.9033678Z Cleaning up orphan processes
2026-06-04T00:10:33.9377794Z Terminate orphan process: pid (3271) (sleep)
2026-06-04T00:10:33.9406172Z Terminate orphan process: pid (3496) (sleep)
2026-06-04T00:10:33.9419048Z ##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4. Actions will be forced to run with Node.js 24 by default starting June 16th, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
